<!DOCTYPE html>
<html lang="en">

<head>

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
<link rel="shortcut icon" href="img/ic.png">
    <title>设备管理</title>

    <!-- Bootstrap Core CSS -->
    <link href="css/bootstrap.css" rel="stylesheet">
	
    <!-- Custom CSS -->
    <link href="css/sb-admin.css" rel="stylesheet">
	<link href="dist/css/bootstrapValidator.css" rel="stylesheet">
    <!-- Morris Charts CSS -->
    <link href="css/plugins/morris.css" rel="stylesheet">
	<link href="nuget/content/content/toastr.css">
    <!-- Custom Fonts -->
    <link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
	<!-- tab table-->
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
	<script src="js/cdn/html5shiv-3.7.0.js"></script>
	<script src="js/cdn/respond-1.4.2.min.js"></script>
    <![endif]-->
	<link rel="stylesheet" href="css/cdn/dataTables.bootstrap.css">
	<link rel="stylesheet" href="css/cdn/font_270902_tg0s2scyzzfcrf6r.css">
    <link rel="stylesheet" type="text/css" href="css/datatable.css"/>
    <style>
		#example_paginate{
			float:right;
		}
		.handle-btn{
			cursor: pointer;
		    margin: 0 2px;
		}
		#wrapper {
		    padding-left:0px;
		}
		.navigation{
			border-bottom: 3px solid #edebeb;
		}
		.navigation a:hover{
			color: #0F6AFC;
			border-bottom: 2px solid #01AAED;
		}
		.this{
			color: #01aaed;
			font-weight:bold;
			border-bottom: 2px solid #01AAED;
		}
	</style>
</head>

<body>

    <div id="wrapper">

        <div id="page-wrapper">
            <div class="container-fluid">
                <!-- /.row -->
                 <div class="row">
                        <div class="panel-heading">
                        	<ul class="nav">
                        		<li style="float: left;">
                        			<b class="panel-title" style=" line-height: 34px;"><span class="xiahua">设备管理</span></b>
                        		</li>
                        		<li style="float: left; padding-left: 20px;">
                        			<div class="btn-group">
										<button class="btn btn-primary" type="button" data-toggle="modal" data-target="#deviceStateModal">
								    		添加设备
										</button>
									</div>
                        		</li>
                        	</ul>
                        </div>
                        <div class="panel-body">
                            <div class="flot-chart">
                                <table id="example" class="display" width="100%"></table>
                            </div>
                        </div>
                </div>
                <!-- /.row -->
            </div>
            <!-- /.container-fluid -->

        </div>
        <!-- /#page-wrapper -->
			<!-- 模态框（Modal） -->
		<div class="modal fade" id="deviceStateModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
			<div class="modal-dialog">
				<div class="modal-content" style="border-top: 5px solid #12dbcd;">
					<div class="modal-body">
	                    <div class="panel-body">
	                       <form class="form-horizontal" id="addform" method="get">
	                       	<div class="text-center" style="line-height: 34px; margin-bottom: 5px; font-size: 16px;"><b>添加设备</b></div>
	                            <div class="form-group">
	                              <label class="col-sm-2 control-label">设备编号</label>
	                              <div class="col-sm-10">
	                                  <input type="text" id="deviceName" name="deviceName"  class="form-control">
	                              </div>
	                            </div>
	                            <div class="text-center">
                                	<button type="button" class="btn btn-default" data-dismiss="modal" aria-hidden="true">
										关闭
									</button>
									<button type="submit" class="btn btn-primary" style="margin-left: 10px;">
										保存
									</button>
								</div>
	                        </form>
	                    </div>
					</div>
				</div><!-- /.modal-content -->
			</div><!-- /.modal -->
		</div>
		<!--绑定设备-->
        <div class="modal fade" id="binding" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content" style="border-top: 5px solid #12dbcd;">
                    <div class="modal-body">
                        <div class="panel-body">
                            <form class="form-horizontal" id="bindform" method="get">
                                <div class="text-center" style="line-height: 34px; margin-bottom: 5px; font-size: 16px;"><b>绑定设备</b></div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">设备编号</label>
                                    <div class="col-sm-10">
                                        <input type="text" id="deviceName2" name="deviceName"  class="form-control">
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">赛场选择</label>
                                    <div class="col-sm-10">
                                        <select name="courts" id="court">
                                            <option v-for="item in items" v-bind:value="item.v">{{}}</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">绑定车队</label>
                                    <div class="col-sm-10">
                                        <select name="courts" id="team">
                                            <option v-for="item in items" v-bind:value="item.v">{{}}</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="text-center">
                                    <button type="button" class="btn btn-default" data-dismiss="modal" aria-hidden="true">
                                        关闭
                                    </button>
                                    <button type="submit" class="btn btn-primary" style="margin-left: 10px;">
                                        保存
                                    </button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div><!-- /.modal-content -->
            </div><!-- /.modal -->
        </div>
		 <!-- /.删除 -->
        <div class="modal fade" id="Delete" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
		    <div class="modal-dialog">
		        <div class="modal-content" style="border-top: 5px solid #12dbcd;">
		            <div class="modal-body text-center">确定要删除此项？</div>
		            <div class="text-center" style="padding-bottom: 15px;">
		            	<input id="deviceId" name="deviceId" type="hidden" :value="dataObj.deviceId" />
		                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
		                <button style="margin-left: 10px;" type="button" v-on:click="Delete()" class="btn btn-primary">确定</button>
		            </div>
		        </div><!-- /.modal-content -->
		    </div><!-- /.modal -->
		</div>
		 <!-- /.解绑 -->
        <div class="modal fade" id="Unbundling" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
		    <div class="modal-dialog">
		        <div class="modal-content" style="border-top: 5px solid #12dbcd;">
		            <div class="modal-body text-center">确定要解除绑定此项？</div>
		            <div class="text-center" style="padding-bottom: 15px;">
		            	<input id="deviceId" name="deviceId" type="hidden" :value="dataObj.deviceId" />
		                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
		                <button style="margin-left: 10px;" type="button" v-on:click="Unbundling()" class="btn btn-primary">确定</button>
		            </div>
		        </div><!-- /.modal-content -->
		    </div><!-- /.modal -->
		</div>
		
		 <!-- /.关闭 -->
        <div class="modal fade" id="over" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
		    <div class="modal-dialog">
		        <div class="modal-content" style="border-top: 5px solid #12dbcd;">
		            <div class="modal-body text-center">确定要关闭此设备？</div>
		            <div class="text-center" style="padding-bottom: 15px;">
		            	<input id="deviceId" name="deviceId" type="hidden" :value="dataObj.deviceId" />
		                <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
		                <button style="margin-left: 10px;" type="button" v-on:click="over()" class="btn btn-primary">确定</button>
		            </div>
		        </div><!-- /.modal-content -->
		    </div><!-- /.modal -->
		</div>
    </div>
    <!-- /#wrapper -->

    <!-- jQuery -->
    <script src="js/jquery.js"></script>

    <!-- Bootstrap Core JavaScript -->
    <script src="js/bootstrap.min.js"></script>
	<!-- tab table-->
	<script src="js/cdn/jquery.dataTables.min.js"></script>
	<script src="js/cdn/dataTables.bootstrap.js"></script>
	<!-- device-->
	<script src="nuget/content/scripts/toastr.js"></script>
	<script type="text/javascript" src="dist/js/bootstrapValidator.min.js"></script>
	<script type="text/javascript" src="js/common.js" ></script>
	<script type="text/javascript" src="js/vue/vue.js" ></script>
    <script type="text/javascript" src="js/vue/vue-router.js" ></script>
    <script>
        var userName = localStorage.getItem("userName");    $("#userName").text(userName);
    	Vue.filter("timeChange", function(value) {
			return replaceTime(value / 1000);
		});
		var vue = new Vue({
		  el: '#wrapper',
		  data:{ 
		  	dataObj: {
		  		deviceType : "",
		  		deviceId:""
		  	},
		  	Validator:{
				message:'This value is not valid',
					// 定义未通过验证的状态图标
			    feedbackIcons: {
				    valid: 'glyphicon glyphicon-ok',
				    invalid: 'glyphicon glyphicon-remove',
				    validating: 'glyphicon glyphicon-refresh'
			    },
			    fields:{
				    deviceName:{
				     message:'设备编号非法',
				     validators:{
				      notEmpty:{
				       message:'设备编号不能为空'
				      },
				      
				     }
				    },
			    }
			},
		  },
		  mounted:function(){
		  	this.deviceBasicId();
		  	this.form();
		  },
		  methods:{
		  	form:function(){
				//设备新增
				$("#addform").bootstrapValidator(
					this.Validator
				).on("success.form.bv",function(){
					vue.deviceState();
				});
		  	},
		  	//初始化显示详情
		  	deviceBasicId:function(){
		  		$(document).ready(function() {
				  var myTable = $('#example').DataTable({
				      "processing": false, //DataTables载入数据时，是否显示‘进度’提示  
				      "stateSave": true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态  
				      "scrollCollapse": true, //是否开启DataTables的高度自适应，当数据条数不够分页数据条数的时候，插件高度是否随数据条数而改变  
				      "paginationType": "full_numbers", //详细分页组，可以支持直接跳转到某页  
				      "language": lang, //提示信息
				      "destroy":true,//Cannot reinitialise DataTable,解决重新加载表格内容问题  
				      "autoWidth": true, //自适应宽度，
				      "lengthMenu": [8, 30, 50],
				      "stripeClasses": ["odd", "even"], //为奇偶行加上样式，兼容不支持CSS伪类的场合
				      "showRowNumber":true,
				      "searching": false, //是否允许Datatables开启本地搜索
				      "paging": false, //是否开启本地分页
				      "lengthChange": false, //是否允许产品改变表格每页显示的记录数
				      "info": false, //控制是否显示表格左下角的信息
				      //跟数组下标一样，第一列从0开始，这里表格初始化时，第四列默认降序
				     "ordering": false,
				      "deferRender": true, //延迟渲染
				      //"ajax":"json/device.json",
				      "ajax": {
				      	url : url+'/devices',
						type : 'get',
						data:{
							"currentPage":1,
							"pageSize":9999,
						},
						dataType : 'json',
						beforeSend: function(request) {
				            request.setRequestHeader("accessToken", accessToken);
				        },
						success : function(data) {
							console.log(data);
							if(data['code'] == 1){
								if(data.result.length != 0)
									$('#example').dataTable().fnAddData(data.result);
								else
									$('#example').dataTable().fnClearTable();
							}else{
								ifajax(data);
							}
						}
				      }, //数据的路径 "http://192.168.5.133:8081/ic-iot/admin/'+adminId+'/devices" /"json/device.json"
				     
				     "columns": [{
				        "data": function(obj){
				        	//var deviceNames=<a href="###">'+ obj.deviceName+'</a>';
				        	return obj.deviceName;
				        },
				        "sTitle": "设备名称", //标题
				        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
				      },{
				        "data": function(obj) {
				           return replaceTime(obj.createTime / 1000);
				        },
				        "sTitle": "创建时间", //标题
				        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
				      }, {
				      	"data":function(obj){
				      		var teamName = obj.teamName;
				      		if(teamName != null){
				      			return teamName;
				      		}else{
				      			return '<span  title="未绑定" data-toggle="modal" data-target="#binding" class="handle-btn handle-btn-edit">未绑定</span>';
				      		}
				      	},
				      	"sTitle":"车队名称",
				      	"sDefaultContent": "", 
				      },{
				      	"data":function(obj){
				      		var deviceState = obj.deviceState;
				      		if(deviceState != null){
				      			if(deviceState == 1){
				      				return '开启';
				      			}else{
				      				return '关闭';
				      			}
				      		}else{
				      			return '';
				      		}
					      	},
				      	"sTitle":"设备状态",
				      	"width":"80px",
				      	"sDefaultContent": "",
				      },{
				        "data": function(obj) {
				        	var deviceId = obj.deviceId;
				            return '<span  title="关闭" data-toggle="modal" data-target="#over" onclick=javascript:vue.team('+deviceId+'); class="handle-btn handle-btn-edit"><b class="iconfont icon-guanbi" style="color:#ffbe00"></b></span><span  title="解绑" data-toggle="modal" data-target="#Unbundling" onclick=javascript:vue.team('+deviceId+'); class="handle-btn handle-btn-edit"><b class="iconfont icon-jiechubangding" style="color:#ffbe00"></b></span><span  title="删除" data-toggle="modal" data-target="#Delete" onclick=javascript:vue.team('+deviceId+'); class="handle-btn handle-btn-edit"><b class="iconfont icon-shanchu" style="color:#ffbe00"></b></span>';
				        },
				        "className": "td-handle",
				        "sTitle": "操作", //标题
				         "width":"50px",
				        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
				      }]
				    });
				});
		  	},
		  	//赋值
		  	team : function(deviceId){
		  		
		  		var _self=this;
			  	$.ajax({
		  			type: "get",
		  			url:url+'/users/'+adminId+'/devices/'+deviceId,
		  			async: false,
		  			dataType: 'json',
					contentType: "application/json; charset=utf-8",
		  			beforeSend: function(request) {
						request.setRequestHeader("accessToken", accessToken);
					},
					success: function(data) {
						if(data.code == 1){
							_self.dataObj = {}; 
							var result = data.result;
							_self.dataObj = result;
						}else{
							toastr['error'](data.description);
						}
					}
		  		});
			},
//			  绑定设备点击事件
			  bind:function (deviceId) {
				  var _self=this;
				  $.ajax({
					  type: "get",
					  url:url+'/users/'+adminId+'/devices/'+deviceId,
					  async: false,
					  dataType: 'json',
					  contentType: "application/json; charset=utf-8",
					  beforeSend: function(request) {
						  request.setRequestHeader("accessToken", accessToken);
					  },
					  success: function(data) {
						  if(data.code == 1){
							  _self.dataObj = {};
							  var result = data.result;
							  _self.dataObj = result;
						  }else{
							  toastr['error'](data.description);
						  }
					  }
				  });
				  $.ajax({
					  type: "get",
					  url:url +'/users/'+adminId+'/teams',
					  async: false,
					  dataType: 'json',
					  contentType: "application/json; charset=utf-8",
					  beforeSend: function(request) {
						  request.setRequestHeader("accessToken", accessToken);
					  },
					  success: function(data) {
					  	console.log(data)
						  /*if(data.code == 1){
							  _self.dataObj = {};
							  var result = data.result;
							  _self.dataObj = result;
						  }else{
							  toastr['error'](data.description);
						  }*/
					  }
				  })
			  },
		  	//新增
		  	deviceState:function(){
		  		var datas = formToJson($("#addform"));
		  		var th = this;
		  		$.ajax({
		  			type: "POST",
		  			url:url+'/users/'+adminId+'/devices',
		  			data:datas,
		  			async: false,
		  			dataType: 'json',
					contentType: "application/json; charset=utf-8",
		  			beforeSend: function(request) {
						request.setRequestHeader("accessToken", accessToken);
					},
					success: function(data) {
						
						if(data.code == 1){
							$('#deviceStateModal').modal('hide');
							$("#deviceName").val("");
							th.deviceBasicId();//刷新
						}else{
							toastr['error'](data.description);
						}
					}
		  		});
		  	},
		  	
		  	//删除
		  	Delete :function(){
		  		var deviceId = $("#deviceId").val();
	  			var th = this;
	  			$.ajax({
		  			type: "DELETE",
		  			url:url+'/users/'+adminId+'/devices/'+deviceId,
		  			async: false,
		  			dataType: 'json',
					contentType: "application/json; charset=utf-8",
		  			beforeSend: function(request) {
						request.setRequestHeader("accessToken", accessToken);
					},
					success: function(data) {
						if(data.code == 1){
							$('#Delete').modal('hide');
							th.deviceBasicId();//刷新
						}else{
							toastr['error'](data.description);
						}
					}
		  		});
		  	},
		  	//解绑
		  	Unbundling:function(){
		  		var deviceId = $("#deviceId").val();
	  			var th = this;
	  			$.ajax({
		  			type: "POST",
		  			url:url+'/users/'+adminId+'/devices/'+deviceId+'/unBind',
		  			async: false,
		  			dataType: 'json',
					contentType: "application/json; charset=utf-8",
		  			beforeSend: function(request) {
						request.setRequestHeader("accessToken", accessToken);
					},
					success: function(data) {
						if(data.code == 1){
							$('#Unbundling').modal('hide');
							th.deviceBasicId();//刷新
						}else{
							toastr['error'](data.description);
						}
					}
		  		});
		  	},
		  	//关闭
		  	over:function(){
		  		var deviceId = $("#deviceId").val();
	  			var th = this;
	  			$.ajax({
		  			type: "POST",
		  			url:url+'/users/'+adminId+'/devices/'+deviceId+'/close',
		  			async: false,
		  			dataType: 'json',
					contentType: "application/json; charset=utf-8",
		  			beforeSend: function(request) {
						request.setRequestHeader("accessToken", accessToken);
					},
					success: function(data) {
						if(data.code == 1){
							$('#over').modal('hide');
							th.deviceBasicId();//刷新
						}else{
							toastr['error'](data.description);
						}
					}
		  		});
		  	},
		  },
		});
    </script>
</body>

</html>
